<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MarvinsArena.Robot</name>
    </assembly>
    <members>
        <member name="T:MarvinsArena.Robot.EnhancedRobot">
            <summary>
            Defines the basic methods for creating a enhanced robot. A robot must derive from the <seealso cref="T:MarvinsArena.Robot.IRobot">IRobot</seealso> interface as well.
            </summary>
        </member>
        <member name="T:MarvinsArena.Robot.BaseRobot">
            <summary>
            Defines the basic methods for creating a robot. A robot must derive from the <seealso cref="T:MarvinsArena.Robot.IRobot">IRobot</seealso> interface as well.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.BaseRobot.robotBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.BaseRobot.gameBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.InternalSetCoreRobot(MarvinsArena.Robot.Core.RobotCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="robotBase">Reference to robot core</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.InternalSetCoreGame(MarvinsArena.Robot.Core.GameCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="gameBase">Reference to game core</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_RoundStarted(System.Object,System.EventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_HitBullet(System.Object,System.EventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_HitMissile(System.Object,System.EventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_HitRobot(System.Object,System.EventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_HitWall(System.Object,System.EventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RobotBase_ScannedRobot(System.Object,MarvinsArena.Robot.Core.CoreScannedRobotEventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.MoveForward(System.Int32)">
            <summary>
            Set the distance the robot should travel.
            </summary>
            <param name="units">Distance to add</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.MoveBackward(System.Int32)">
            <summary>
            Set the distance the robot should travel.
            </summary>
            <param name="units">Distance to add</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.StopMove">
            <summary>
            Added for convenience. Stops the movement. This is equal to Move*(0).
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateLeft(System.Double)">
            <summary>
            Set the angle the robot should rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateLeftDeg(System.Double)">
            <summary>
            Set the angle the robot should rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRight(System.Double)">
            <summary>
            Set the angle the robot should rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRightDeg(System.Double)">
            <summary>
            Set the angle the robot should rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.StopRotate">
            <summary>
            Added for convenience. Stops the rotation. This is equal to Rotate*(0).
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateGunLeft(System.Double)">
            <summary>
            Set the angle the robots gun should rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateGunLeftDeg(System.Double)">
            <summary>
            Set the angle the robots gun should rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateGunRight(System.Double)">
            <summary>
            Set the angle the robots gun should rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateGunRightDeg(System.Double)">
            <summary>
            Set the angle the robots gun should rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.StopRotateGun">
            <summary>
            Added for convenience. Stops the guns rotation. This is equal to RotateGun*(0).
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRadarLeft(System.Double)">
            <summary>
            Set the angle the robots radar should rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRadarLeftDeg(System.Double)">
            <summary>
            Set the angle the robots radar should rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRadarRight(System.Double)">
            <summary>
            Increase the angle the robots radar will rotate.
            </summary>
            <param name="rad">Angle to rotate in radiant</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RotateRadarRightDeg(System.Double)">
            <summary>
            Increase the angle the robots radar will rotate.
            </summary>
            <param name="deg">Angle to rotate in degree</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.StopRotateRadar">
            <summary>
            Added for convenience. Stops the radar rotation. This is equal to RotateRadar*(0).
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.FireBullet(System.Int32)">
            <summary>
            Fire a bullet with specified power.
            The power specifies the amount of damage the bullet will do as well as the heat required to launch it.
            The power must be less than the difference of heat and maximum heat.
            The power must be one or bigger.
            A bullet can only be shoot every two seconds.
            </summary>
            <param name="power">The energy of the bullet</param>
            <returns>True if the bullet was fired</returns>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.FireMissile">
            <summary>
            Fire a missile if the rocket launcher is not empty.
            A missile can only be shoot every six seconds.
            </summary>
            <returns>True if the missile was fired</returns>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.Print(System.String)">
            <summary>
            Let the robot say a message.
            </summary>
            <param name="message">The text to send</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.PrintDebug(System.String)">
            <summary>
            Print a debug message. The message is only shown if the battle engine was started using "-debug".
            </summary>
            <param name="message">The information to send</param>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.RadToDeg(System.Double)">
            <summary>
            Convert radians to degrees
            </summary>
            <param name="rad">Radiant to convert</param>
            <returns>Degrees</returns>
        </member>
        <member name="M:MarvinsArena.Robot.BaseRobot.DegToRad(System.Double)">
            <summary>
            Convert degrees to radians
            </summary>
            <param name="deg">Degrees to convert</param>
            <returns>Radiant</returns>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.PositionX">
            <summary>
            Gets the robots X position. The origin is the center of the robot.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.PositionY">
            <summary>
            Gets the robots Y position. The origin is the center of the robot.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Rotation">
            <summary>
            Gets the robots rotation in radiant
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RotationDeg">
            <summary>
            Gets the robots rotation in degree
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RotationGun">
            <summary>
            Gets the robots gun rotation in radiant
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RotationGunDeg">
            <summary>
            Gets the robots gun rotation in degree
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RotationRadar">
            <summary>
            Gets the robots radar rotation in radiant
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RotationRadarDeg">
            <summary>
            Gets the robots radar rotation in degree
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RemainingDistance">
            <summary>
            Gets the distance the robot needs to cover until it stops.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RemainingRotation">
            <summary>
            Gets the angle the robot needs to rotate until it stops.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RemainingRotationGun">
            <summary>
            Gets the angle the robots gun needs to rotate until it stops.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.RemainingRotationRadar">
            <summary>
            Gets the angle the robots radar needs to rotate until it stops.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.MapWidth">
            <summary>
            Gets the width of the map in units.
            </summary>
            <example>This sample shows how to detect a collision.
            <code><![CDATA[
            if(PositionX < Radius ||
            	PositionX > MapWidth - Radius ||
            	PositionY < Radius||
            	PositionY > MapHeight - Radius)
            {
            	// The robot hits a wall
            }]]>
            </code>
            </example>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.MapHeight">
            <summary>
            Gets the height of the map in units.
            </summary>
            <example>This sample shows how to detect a collision.
            <code><![CDATA[
            if(PositionX < Radius ||
            	PositionX > MapWidth - Radius ||
            	PositionY < Radius||
            	PositionY > MapHeight - Radius)
            {
            	// The robot hits a wall
            }]]>
            </code>
            </example>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Hitpoints">
            <summary>
            Gets the current hitpoints.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Missiles">
            <summary>
            Gets the current amount of missiles.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.MaximumHeat">
            <summary>
            Gets the maximum heat of the gun. If the gun is too hot it is not possible to fire bullets.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Heat">
            <summary>
            Gets the current heat. This can never be greter than <seealso cref="P:MarvinsArena.Robot.BaseRobot.MaximumHeat"/>.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Height">
            <summary>
            Gets the height of the robot. This is equal to the height.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Width">
            <summary>
            Gets the width of the robot. This is equal to the width.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Center">
            <summary>
            Gets the center of the robots "square". This is half the width and height.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.BaseRobot.Radius">
            <summary>
            Gets the radius of the collision circle. This is equal to the <seealso cref="P:MarvinsArena.Robot.BaseRobot.Center"/>.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.RoundStarted">
            <summary>
            The event handler is called every time a new round is started.
            This is a good place to (re)set variables.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.HitWall">
            <summary>
            The event handler is called if the robot hits a wall.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.HitBullet">
            <summary>
            The event handler is called if the robot is hit by a bullet.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.HitMissile">
            <summary>
            The event handler is called if the robot is hit by a missile.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.HitRobot">
            <summary>
            The event handler is called if the robot hits or is hit by another robot.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.BaseRobot.ScannedRobot">
            <summary>
            The event handler is called if another robot is within the scanner range.
            This event will get raised until the robot leaves the scanner range.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.EnhancedRobot.robotBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.EnhancedRobot.gameBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.EnhancedRobot.InternalSetCoreRobot(MarvinsArena.Robot.Core.RobotCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="robotBase">Reference to robot core</param>
        </member>
        <member name="M:MarvinsArena.Robot.EnhancedRobot.InternalSetCoreGame(MarvinsArena.Robot.Core.GameCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="gameBase">Reference to game core</param>
        </member>
        <member name="M:MarvinsArena.Robot.EnhancedRobot.MapCanEnter(System.Int32,System.Int32)">
            <summary>
            Check if the specified field is accessible by the robot.
            </summary>
            <param name="indexX">Field index X</param>
            <param name="indexY">Field index Y</param>
            <returns>0 if the field is free, 1 if the field is blocked and -1 in case the indices are out of range.</returns>
        </member>
        <member name="P:MarvinsArena.Robot.EnhancedRobot.MapWidthFields">
            <summary>
            Gets the width of the map in fields. This is equal to MapWidth / MapScale;
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.EnhancedRobot.MapHeightFields">
            <summary>
            Gets the height of the map in fields. This is equal to MapHeight / MapScale;
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.EnhancedRobot.MapScale">
            <summary>
            Gets the size of the map blocks.
            </summary>
        </member>
        <member name="T:MarvinsArena.Robot.MessageReceivedFromTeammateEventArgs">
            <summary>
            Contains information on messages received from a teammate.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.MessageReceivedFromTeammateEventArgs.#ctor(System.Int32,System.Int32,System.String)">
            <summary>
            Initalizes a new instance of the ScannedRobotEventArgs class.
            </summary>
            <param name="team">The team id</param>
            <param name="squadNumber">The players number within the team</param>
            <param name="message">The message</param>
        </member>
        <member name="P:MarvinsArena.Robot.MessageReceivedFromTeammateEventArgs.Team">
            <summary>
            The sender of the message.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.MessageReceivedFromTeammateEventArgs.SquadNumber">
            <summary>
            The sender of the message.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.MessageReceivedFromTeammateEventArgs.Message">
            <summary>
            The message.
            </summary>
        </member>
        <member name="T:MarvinsArena.Robot.TeamRobot">
            <summary>
            Defines the basic methods for creating a team robot. A robot must derive from the <seealso cref="T:MarvinsArena.Robot.IRobot">IRobot</seealso> interface as well.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.TeamRobot.robotBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="F:MarvinsArena.Robot.TeamRobot.gameBase">
            <summary>
            Internal object.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.TeamRobot.InternalSetCoreRobot(MarvinsArena.Robot.Core.RobotCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="robotBase">Reference to robot core</param>
        </member>
        <member name="M:MarvinsArena.Robot.TeamRobot.InternalSetCoreGame(MarvinsArena.Robot.Core.GameCore)">
            <summary>
            This method is internally called by the engine. You must not call it!
            </summary>
            <param name="gameBase">Reference to game core</param>
        </member>
        <member name="M:MarvinsArena.Robot.TeamRobot.TeamRobot_MessageReceivedFromTeammate(System.Object,MarvinsArena.Robot.Core.CoreMessageReceivedFromTeammateEventArgs)">
            <summary>
            Internal object for event handling.
            </summary>
            <param name="sender">The event source</param>
            <param name="e">The event arguments</param>
        </member>
        <member name="M:MarvinsArena.Robot.TeamRobot.SendMessageToTeam(System.String)">
            <summary>
            Send a message to the team not including self.
            </summary>
            <param name="message">The message to send</param>
        </member>
        <member name="P:MarvinsArena.Robot.TeamRobot.SquadNumber">
            <summary>
            Gets the robots number within the team.
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.TeamRobot.Team">
            <summary>
            Gets the team number.
            </summary>
        </member>
        <member name="E:MarvinsArena.Robot.TeamRobot.MessageReceivedFromTeammate">
            <summary>
            The event handler is called if the robot receives a message from a teammate.
            </summary>
        </member>
        <member name="T:MarvinsArena.Robot.IRobot">
            <summary>
            The interface defines the required methods for a working robot
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.IRobot.Initialize">
            <summary>
            The initialize method is the point where a robot can initialize all variables and assign event handler.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.IRobot.Run">
            <summary>
            The run method is called serveral times per second. This is the place to write the robots logic.
            </summary>
        </member>
        <member name="T:MarvinsArena.Robot.ScannedRobotEventArgs">
            <summary>
            Contains information on scanned robots.
            </summary>
        </member>
        <member name="M:MarvinsArena.Robot.ScannedRobotEventArgs.#ctor(System.Double,System.Double)">
            <summary>
            Initalizes a new instance of the ScannedRobotEventArgs class.
            </summary>
            <param name="positionX">X Position of scanned robot</param>
            <param name="positionY">Y Position of scanned robot</param>
        </member>
        <member name="P:MarvinsArena.Robot.ScannedRobotEventArgs.PositionX">
            <summary>
            Gets or sets the x position of scanned robot
            </summary>
        </member>
        <member name="P:MarvinsArena.Robot.ScannedRobotEventArgs.PositionY">
            <summary>
            Gets or sets the y position of scanned robot
            </summary>
        </member>
    </members>
</doc>
